import java.util.ArrayList;
import java.util.List;

//杨辉三角
public class java0823 {
    public static List<List<Integer>> generate(int numRows){
        List <Integer> list = new ArrayList<>();
        list.add(1);
        //设置顺序表第一行默认是个1

        List <List<Integer>> blank = new ArrayList<>();
        blank.add(list);

        for (int i = 1; i < numRows; i++) {
           List <Integer> thisRow = new ArrayList<>();
           //每生成一行的更新

            List <Integer> preRow = blank.get(i-1);
            //表示上一行

            thisRow.add(1);
            //一行的第一个元素默认是个1

            for (int j = 1; j < i; j++) {
                //[i][j] = [i-1][j] + [i-1][j-1];
                int a = preRow.get(j) + preRow.get(j-1);
                thisRow.add(a);
            }
            //中间行的元素自己根据规律添加

            thisRow.add(1);
            //一行的最后一个元素也默认是1

            blank.add(thisRow);
        }


        return blank;
    }


    public static void main(String[] args) {
        System.out.println(generate(4));
        System.out.println(generate(5));
    }
}
